package com.renhua.database;

import android.database.sqlite.SQLiteDatabase;

import java.util.Map;

import de.greenrobot.dao.AbstractDao;
import de.greenrobot.dao.AbstractDaoSession;
import de.greenrobot.dao.identityscope.IdentityScopeType;
import de.greenrobot.dao.internal.DaoConfig;

import com.renhua.database.Charts;
import com.renhua.database.plazaMsg;
import com.renhua.database.FriendsAchieveMsg;
import com.renhua.database.Friends;
import com.renhua.database.Contracts;
import com.renhua.database.PaymentAccount;
import com.renhua.database.NaviMsg;
import com.renhua.database.CollectionInfo;
import com.renhua.database.Users;
import com.renhua.database.WindowCoEntity;
import com.renhua.database.CoDonate;
import com.renhua.database.CoDonateDetailImg;
import com.renhua.database.WinCoinIncomeHistory;
import com.renhua.database.DonateHistory;
import com.renhua.database.ConvertHistory;
import com.renhua.database.MyEfforts;
import com.renhua.database.cacheImgs;
import com.renhua.database.AdvDataBase;
import com.renhua.database.AdvDataBase2;
import com.renhua.database.Category;
import com.renhua.database.Download;
import com.renhua.database.RecommendAdvPojoDataBase;

import com.renhua.database.ChartsDao;
import com.renhua.database.plazaMsgDao;
import com.renhua.database.FriendsAchieveMsgDao;
import com.renhua.database.FriendsDao;
import com.renhua.database.ContractsDao;
import com.renhua.database.PaymentAccountDao;
import com.renhua.database.NaviMsgDao;
import com.renhua.database.CollectionInfoDao;
import com.renhua.database.UsersDao;
import com.renhua.database.WindowCoEntityDao;
import com.renhua.database.CoDonateDao;
import com.renhua.database.CoDonateDetailImgDao;
import com.renhua.database.WinCoinIncomeHistoryDao;
import com.renhua.database.DonateHistoryDao;
import com.renhua.database.ConvertHistoryDao;
import com.renhua.database.MyEffortsDao;
import com.renhua.database.cacheImgsDao;
import com.renhua.database.AdvDataBaseDao;
import com.renhua.database.AdvDataBase2Dao;
import com.renhua.database.CategoryDao;
import com.renhua.database.DownloadDao;
import com.renhua.database.RecommendAdvPojoDataBaseDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see de.greenrobot.dao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig chartsDaoConfig;
    private final DaoConfig plazaMsgDaoConfig;
    private final DaoConfig friendsAchieveMsgDaoConfig;
    private final DaoConfig friendsDaoConfig;
    private final DaoConfig contractsDaoConfig;
    private final DaoConfig paymentAccountDaoConfig;
    private final DaoConfig naviMsgDaoConfig;
    private final DaoConfig collectionInfoDaoConfig;
    private final DaoConfig usersDaoConfig;
    private final DaoConfig windowCoEntityDaoConfig;
    private final DaoConfig coDonateDaoConfig;
    private final DaoConfig coDonateDetailImgDaoConfig;
    private final DaoConfig winCoinIncomeHistoryDaoConfig;
    private final DaoConfig donateHistoryDaoConfig;
    private final DaoConfig convertHistoryDaoConfig;
    private final DaoConfig myEffortsDaoConfig;
    private final DaoConfig cacheImgsDaoConfig;
    private final DaoConfig advDataBaseDaoConfig;
    private final DaoConfig advDataBase2DaoConfig;
    private final DaoConfig categoryDaoConfig;
    private final DaoConfig downloadDaoConfig;
    private final DaoConfig recommendAdvPojoDataBaseDaoConfig;

    private final ChartsDao chartsDao;
    private final plazaMsgDao plazaMsgDao;
    private final FriendsAchieveMsgDao friendsAchieveMsgDao;
    private final FriendsDao friendsDao;
    private final ContractsDao contractsDao;
    private final PaymentAccountDao paymentAccountDao;
    private final NaviMsgDao naviMsgDao;
    private final CollectionInfoDao collectionInfoDao;
    private final UsersDao usersDao;
    private final WindowCoEntityDao windowCoEntityDao;
    private final CoDonateDao coDonateDao;
    private final CoDonateDetailImgDao coDonateDetailImgDao;
    private final WinCoinIncomeHistoryDao winCoinIncomeHistoryDao;
    private final DonateHistoryDao donateHistoryDao;
    private final ConvertHistoryDao convertHistoryDao;
    private final MyEffortsDao myEffortsDao;
    private final cacheImgsDao cacheImgsDao;
    private final AdvDataBaseDao advDataBaseDao;
    private final AdvDataBase2Dao advDataBase2Dao;
    private final CategoryDao categoryDao;
    private final DownloadDao downloadDao;
    private final RecommendAdvPojoDataBaseDao recommendAdvPojoDataBaseDao;

    public DaoSession(SQLiteDatabase db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        chartsDaoConfig = daoConfigMap.get(ChartsDao.class).clone();
        chartsDaoConfig.initIdentityScope(type);

        plazaMsgDaoConfig = daoConfigMap.get(plazaMsgDao.class).clone();
        plazaMsgDaoConfig.initIdentityScope(type);

        friendsAchieveMsgDaoConfig = daoConfigMap.get(FriendsAchieveMsgDao.class).clone();
        friendsAchieveMsgDaoConfig.initIdentityScope(type);

        friendsDaoConfig = daoConfigMap.get(FriendsDao.class).clone();
        friendsDaoConfig.initIdentityScope(type);

        contractsDaoConfig = daoConfigMap.get(ContractsDao.class).clone();
        contractsDaoConfig.initIdentityScope(type);

        paymentAccountDaoConfig = daoConfigMap.get(PaymentAccountDao.class).clone();
        paymentAccountDaoConfig.initIdentityScope(type);

        naviMsgDaoConfig = daoConfigMap.get(NaviMsgDao.class).clone();
        naviMsgDaoConfig.initIdentityScope(type);

        collectionInfoDaoConfig = daoConfigMap.get(CollectionInfoDao.class).clone();
        collectionInfoDaoConfig.initIdentityScope(type);

        usersDaoConfig = daoConfigMap.get(UsersDao.class).clone();
        usersDaoConfig.initIdentityScope(type);

        windowCoEntityDaoConfig = daoConfigMap.get(WindowCoEntityDao.class).clone();
        windowCoEntityDaoConfig.initIdentityScope(type);

        coDonateDaoConfig = daoConfigMap.get(CoDonateDao.class).clone();
        coDonateDaoConfig.initIdentityScope(type);

        coDonateDetailImgDaoConfig = daoConfigMap.get(CoDonateDetailImgDao.class).clone();
        coDonateDetailImgDaoConfig.initIdentityScope(type);

        winCoinIncomeHistoryDaoConfig = daoConfigMap.get(WinCoinIncomeHistoryDao.class).clone();
        winCoinIncomeHistoryDaoConfig.initIdentityScope(type);

        donateHistoryDaoConfig = daoConfigMap.get(DonateHistoryDao.class).clone();
        donateHistoryDaoConfig.initIdentityScope(type);

        convertHistoryDaoConfig = daoConfigMap.get(ConvertHistoryDao.class).clone();
        convertHistoryDaoConfig.initIdentityScope(type);

        myEffortsDaoConfig = daoConfigMap.get(MyEffortsDao.class).clone();
        myEffortsDaoConfig.initIdentityScope(type);

        cacheImgsDaoConfig = daoConfigMap.get(cacheImgsDao.class).clone();
        cacheImgsDaoConfig.initIdentityScope(type);

        advDataBaseDaoConfig = daoConfigMap.get(AdvDataBaseDao.class).clone();
        advDataBaseDaoConfig.initIdentityScope(type);

        advDataBase2DaoConfig = daoConfigMap.get(AdvDataBase2Dao.class).clone();
        advDataBase2DaoConfig.initIdentityScope(type);

        categoryDaoConfig = daoConfigMap.get(CategoryDao.class).clone();
        categoryDaoConfig.initIdentityScope(type);

        downloadDaoConfig = daoConfigMap.get(DownloadDao.class).clone();
        downloadDaoConfig.initIdentityScope(type);

        recommendAdvPojoDataBaseDaoConfig = daoConfigMap.get(RecommendAdvPojoDataBaseDao.class).clone();
        recommendAdvPojoDataBaseDaoConfig.initIdentityScope(type);

        chartsDao = new ChartsDao(chartsDaoConfig, this);
        plazaMsgDao = new plazaMsgDao(plazaMsgDaoConfig, this);
        friendsAchieveMsgDao = new FriendsAchieveMsgDao(friendsAchieveMsgDaoConfig, this);
        friendsDao = new FriendsDao(friendsDaoConfig, this);
        contractsDao = new ContractsDao(contractsDaoConfig, this);
        paymentAccountDao = new PaymentAccountDao(paymentAccountDaoConfig, this);
        naviMsgDao = new NaviMsgDao(naviMsgDaoConfig, this);
        collectionInfoDao = new CollectionInfoDao(collectionInfoDaoConfig, this);
        usersDao = new UsersDao(usersDaoConfig, this);
        windowCoEntityDao = new WindowCoEntityDao(windowCoEntityDaoConfig, this);
        coDonateDao = new CoDonateDao(coDonateDaoConfig, this);
        coDonateDetailImgDao = new CoDonateDetailImgDao(coDonateDetailImgDaoConfig, this);
        winCoinIncomeHistoryDao = new WinCoinIncomeHistoryDao(winCoinIncomeHistoryDaoConfig, this);
        donateHistoryDao = new DonateHistoryDao(donateHistoryDaoConfig, this);
        convertHistoryDao = new ConvertHistoryDao(convertHistoryDaoConfig, this);
        myEffortsDao = new MyEffortsDao(myEffortsDaoConfig, this);
        cacheImgsDao = new cacheImgsDao(cacheImgsDaoConfig, this);
        advDataBaseDao = new AdvDataBaseDao(advDataBaseDaoConfig, this);
        advDataBase2Dao = new AdvDataBase2Dao(advDataBase2DaoConfig, this);
        categoryDao = new CategoryDao(categoryDaoConfig, this);
        downloadDao = new DownloadDao(downloadDaoConfig, this);
        recommendAdvPojoDataBaseDao = new RecommendAdvPojoDataBaseDao(recommendAdvPojoDataBaseDaoConfig, this);

        registerDao(Charts.class, chartsDao);
        registerDao(plazaMsg.class, plazaMsgDao);
        registerDao(FriendsAchieveMsg.class, friendsAchieveMsgDao);
        registerDao(Friends.class, friendsDao);
        registerDao(Contracts.class, contractsDao);
        registerDao(PaymentAccount.class, paymentAccountDao);
        registerDao(NaviMsg.class, naviMsgDao);
        registerDao(CollectionInfo.class, collectionInfoDao);
        registerDao(Users.class, usersDao);
        registerDao(WindowCoEntity.class, windowCoEntityDao);
        registerDao(CoDonate.class, coDonateDao);
        registerDao(CoDonateDetailImg.class, coDonateDetailImgDao);
        registerDao(WinCoinIncomeHistory.class, winCoinIncomeHistoryDao);
        registerDao(DonateHistory.class, donateHistoryDao);
        registerDao(ConvertHistory.class, convertHistoryDao);
        registerDao(MyEfforts.class, myEffortsDao);
        registerDao(cacheImgs.class, cacheImgsDao);
        registerDao(AdvDataBase.class, advDataBaseDao);
        registerDao(AdvDataBase2.class, advDataBase2Dao);
        registerDao(Category.class, categoryDao);
        registerDao(Download.class, downloadDao);
        registerDao(RecommendAdvPojoDataBase.class, recommendAdvPojoDataBaseDao);
    }
    
    public void clear() {
        chartsDaoConfig.getIdentityScope().clear();
        plazaMsgDaoConfig.getIdentityScope().clear();
        friendsAchieveMsgDaoConfig.getIdentityScope().clear();
        friendsDaoConfig.getIdentityScope().clear();
        contractsDaoConfig.getIdentityScope().clear();
        paymentAccountDaoConfig.getIdentityScope().clear();
        naviMsgDaoConfig.getIdentityScope().clear();
        collectionInfoDaoConfig.getIdentityScope().clear();
        usersDaoConfig.getIdentityScope().clear();
        windowCoEntityDaoConfig.getIdentityScope().clear();
        coDonateDaoConfig.getIdentityScope().clear();
        coDonateDetailImgDaoConfig.getIdentityScope().clear();
        winCoinIncomeHistoryDaoConfig.getIdentityScope().clear();
        donateHistoryDaoConfig.getIdentityScope().clear();
        convertHistoryDaoConfig.getIdentityScope().clear();
        myEffortsDaoConfig.getIdentityScope().clear();
        cacheImgsDaoConfig.getIdentityScope().clear();
        advDataBaseDaoConfig.getIdentityScope().clear();
        advDataBase2DaoConfig.getIdentityScope().clear();
        categoryDaoConfig.getIdentityScope().clear();
        downloadDaoConfig.getIdentityScope().clear();
        recommendAdvPojoDataBaseDaoConfig.getIdentityScope().clear();
    }

    public ChartsDao getChartsDao() {
        return chartsDao;
    }

    public plazaMsgDao getPlazaMsgDao() {
        return plazaMsgDao;
    }

    public FriendsAchieveMsgDao getFriendsAchieveMsgDao() {
        return friendsAchieveMsgDao;
    }

    public FriendsDao getFriendsDao() {
        return friendsDao;
    }

    public ContractsDao getContractsDao() {
        return contractsDao;
    }

    public PaymentAccountDao getPaymentAccountDao() {
        return paymentAccountDao;
    }

    public NaviMsgDao getNaviMsgDao() {
        return naviMsgDao;
    }

    public CollectionInfoDao getCollectionInfoDao() {
        return collectionInfoDao;
    }

    public UsersDao getUsersDao() {
        return usersDao;
    }

    public WindowCoEntityDao getWindowCoEntityDao() {
        return windowCoEntityDao;
    }

    public CoDonateDao getCoDonateDao() {
        return coDonateDao;
    }

    public CoDonateDetailImgDao getCoDonateDetailImgDao() {
        return coDonateDetailImgDao;
    }

    public WinCoinIncomeHistoryDao getWinCoinIncomeHistoryDao() {
        return winCoinIncomeHistoryDao;
    }

    public DonateHistoryDao getDonateHistoryDao() {
        return donateHistoryDao;
    }

    public ConvertHistoryDao getConvertHistoryDao() {
        return convertHistoryDao;
    }

    public MyEffortsDao getMyEffortsDao() {
        return myEffortsDao;
    }

    public cacheImgsDao getCacheImgsDao() {
        return cacheImgsDao;
    }

    public AdvDataBaseDao getAdvDataBaseDao() {
        return advDataBaseDao;
    }

    public AdvDataBase2Dao getAdvDataBase2Dao() {
        return advDataBase2Dao;
    }

    public CategoryDao getCategoryDao() {
        return categoryDao;
    }

    public DownloadDao getDownloadDao() {
        return downloadDao;
    }

    public RecommendAdvPojoDataBaseDao getRecommendAdvPojoDataBaseDao() {
        return recommendAdvPojoDataBaseDao;
    }

}
